<?php

session_start();

include_once "metier/connexion.php";

include_once "metier/XSRF.php";




if(!isset($_GET["id"]) || !is_numeric($_GET["id"])) {
	header("Location: index.php");
	exit;
}




/* GESTION REAUTH */

if(isset($_GET["token"])) {
	if(!validerToken("REAUTHENTIFICATION_SUPPR_ANNONCE", $_GET["token"])) {
		header("Location: reauthentication.php?id=".$_GET["id"]."&page=modifAnnonce&e=token");
		exit;
	}
}
else {
	header("Location: reauthentication.php?id=".$_GET["id"]."&page=supprAnnonce");
	exit;
}

/*FIN GESTION REAUTH */





if(!estConnecte()) {
	header("Location: index.php");
	exit;
}

else {
	//Ouverture de la base de donnÈes
	$bd = new PDO("mysql:host=localhost;dbname=viagra", "root", "root");
	//Vérifier si l'annonce en question existe
	$requete = $bd->query("SELECT Count(annonce.id) AS nbannonces FROM annonce INNER JOIN utilisateur ON annonce.auteur=utilisateur.id WHERE annonce.id=".htmlentities(strip_tags($_GET["id"]))." AND utilisateur.id=".$_SESSION["id"]);
	//Résultat de la requête
	$resultat = $requete->fetch(PDO::FETCH_OBJ);
	//S'il n'y a aucune annonce, on redirige vers la page d'accueil
	if($resultat->nbannonces == 0) {
		header("Location: index.php");
		exit;
	}
	
	
	$requete = "DELETE FROM annonce WHERE annonce.id=".$_GET["id"];
		
	//Si on peut démarrer une transaction
	if($bd->beginTransaction()) {

		//Si on peut exécuter la requÍte de la requête
		if($bd->exec($requete) !== false) {
			
			//Si on peut commettre les changements
			if($bd->commit()) {
			
				//Fermeture de la base de données
				$bd = null;
			
				//Redirection vers la page confirmant la publication de l'annonce
				header("Location: index.php?s=suppressionannonce");
				exit;
			}
			//Sinon
			else {
				//On annule les changements de la base de données
				$bd->rollBack();
				//Fermeture de la base de données
				$bd = null;
				header("Location: index.php?e=suppressionannonce&1");
			}
		}
		else {
			//On annule les changements de la base de données
			$bd->rollBack();
			//Fermeture de la base de données
			$bd = null;
			header("Location: index.php?e=suppressionannonce&2");
		}
	}
	else {
		//Fermeture de la base de données
		$bd = null;
		//Rediriger vers la page d'accueil
		header("Location: index.php?e=suppressionannonce&3");
	}
}
//Fermeture de la base de données
$bd = null;

?>